package com.jiawa.train.business.service;

import com.jiawa.train.business.domain.DailyTrainCarriage;
import com.jiawa.train.business.domain.Train;
import com.jiawa.train.business.req.DailyTrainCarriageQueryReq;
import com.jiawa.train.business.req.DailyTrainCarriageSaveReq;
import com.jiawa.train.business.resp.DailyTrainCarriageQueryResp;
import com.jiawa.train.common.resp.PageResp;

import java.util.Date;
import java.util.List;

/**
 * @author zzl
 * @version 1.0
 */
public interface DailyTrainCarriageService {
    void save(DailyTrainCarriageSaveReq req);

    /**
     * 分页查询每日高铁车厢数据
     * @param req
     * @return
     */
    PageResp<DailyTrainCarriageQueryResp> queryList(DailyTrainCarriageQueryReq req);

    void delete(Long id);

    /**
     * 根据日期和高铁车次生成每日车厢数据
     * @param date
     * @param train
     */
    void genDailyTrainCarriage(Date date, Train train);

    /**
     * 根据日期、高铁车次、座位类型，查询高铁车次对应座位类型的车厢
     * @param date
     * @param trainCode
     * @param seatType
     * @return
     */
    List<DailyTrainCarriage> selectBySeatType(Date date, String trainCode, String seatType);
}
